package com.hzp.micromall.product.service.impl;

import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.hzp.micromall.common.core.api.CommonPage;
import com.hzp.micromall.product.dao.PmsProductAttributeCategoryDao;
import com.hzp.micromall.product.dto.PmsProductAttributeCategoryItem;
import com.hzp.micromall.product.entity.PmsProductAttributeCategory;
import com.hzp.micromall.product.service.PmsProductAttributeCategoryService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;

import java.util.List;

/**
 * @Author houzipeng
 * @Date 2022/2/26 15:02
 * @Version 1.0
 * PmsProductAttributeCategoryService实现类
 */
@Service
public class PmsProductAttributeCategoryServiceImpl implements PmsProductAttributeCategoryService {

    @Autowired
    private PmsProductAttributeCategoryDao productAttributeCategoryDao;


    @Override
    public int create(String name) {
        PmsProductAttributeCategory productAttributeCategory = new PmsProductAttributeCategory();
        productAttributeCategory.setName(name);
        return productAttributeCategoryDao.insert(productAttributeCategory);
    }

    @Override
    public int delete(Long id) {
        return productAttributeCategoryDao.deleteById(id);
    }

    @Override
    public int update(Long id, String name) {
        PmsProductAttributeCategory productAttributeCategory = new PmsProductAttributeCategory();
        productAttributeCategory.setId(id);
        productAttributeCategory.setName(name);
        return productAttributeCategoryDao.updateById(productAttributeCategory);
    }

    @Override
    public PmsProductAttributeCategory getDetail(Long id) {
        return productAttributeCategoryDao.selectById(id);
    }

    @Override
    public CommonPage<PmsProductAttributeCategory> getPage(Integer pageSize, Integer pageNum) {
        Page<PmsProductAttributeCategory> page = new Page<>(pageNum, pageSize);
        productAttributeCategoryDao.selectPage(page, null);
        return new CommonPage<>(page.getCurrent(), page.getTotal(), page.getSize(), page.getRecords());
    }

    @Override
    public List<PmsProductAttributeCategoryItem> getListWithAttr() {
        return productAttributeCategoryDao.getListWithAttr();
    }
}
